In today's agile and competitive technology fields, organizations often seek to speed up the development of software applications and products and launch these products into the market in the shortest time. Application release automation, which is a process of packaging and deploying an application or an update of an application from development to production, has arisen to meet the demands of managing an application's life cycle. However, conventional deployment approaches suffer from a variety of problems. For example, development of different applications can generate different types of build artifacts. Such artifacts can be stored in various repositories or artifact stores. As such, managing artifacts during an application's life cycle can be a major challenge in release automation. Further, repository in one deployment environment might not be easily accessed by another deployment environment due to security restrictions. These issues have an impact on deployment as well because a conventional application blueprint that specifies artifact dependencies of the application might not be aware about each of the repositories and artifacts stored in the repositories.